import com.spring.demo.Student;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 启动类
 */
// ApplicationContext：会将所有的 xml 全部加载到 Spring 容器中
public class App {
    public static void main(String[] args) {
        // 1.得到 Spring 上下文对象---------------------------------------------
        ApplicationContext context =
                new ClassPathXmlApplicationContext("spring-config.xml");
        // 2.从 Spring 容器中获取到 Bean 对象------------------------------------

        // 方法1：通过名称来获取 Bean
//        Student student = (Student) context.getBean("student");

        // 方法2：通过类名方法来获取 Bean
//        Student student = context.getBean(Student.class);

        // 方法3：通过 名称+类型 方法来获取 Bean
        Student student = context.getBean("student", Student.class);
        Student stu = context.getBean("stu", Student.class);

        System.out.println("student == stu -> " + (student == stu)); // 比较的是对象的地址

        // 3.使用 Bean 对象 （非必须的，可以不使用）------------------------------------
        student.sayHi();
    }
}
